package com.alisveris.dao;

import javax.servlet.*;
import javax.servlet.http.*;
import com.alisveris.pojo.Urun;
import com.utility.Utility;
import java.io.*;
import java.util.*;

public class SepeteEkle extends HttpServlet {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	@SuppressWarnings("rawtypes")
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws IOException, ServletException {

		response.setContentType("text/html");

		// Sepete ekle linki ile gönderielen
		// parametrelerin alınması
		String urunKod = request.getParameter("urunKod");
		//float urunFiyat = Float.parseFloat(request.getParameter("urunFiyat"));
		float urunFiyat = Utility.nullFloatconv(request.getParameter("urunFiyat"));
		//int urunMiktar = Integer.parseInt(request.getParameter("urunMiktar"));
		int urunMiktar =Utility.nullIntconv(request.getParameter("urunMiktar"));
		
		
		String urunIsmi = request.getParameter("urunIsmi");
		String pageNumber=request.getParameter("pageNumber");
		
		String product = request.getParameter("product");

		// Alınan bilgilerin ürün nesnesi içine yazılması

		// Oturum açılması
		HttpSession session = request.getSession();
		PrintWriter out = response.getWriter();

		// Alışveriş sepetini oturum içinden çekilmesi
		AlisVerisSepeti sepet = (AlisVerisSepeti) session
				.getAttribute("AlisVerisSepeti");

		// Sepet oluşturulmamışsa yeni bir sepet oluşturma
		if (sepet == null) {
			sepet = new AlisVerisSepeti();
			session.setAttribute("AlisVerisSepeti", sepet);

			// Alınan bilgilerin ürün nesnesi içine yazılması
			Urun urun = new Urun(urunKod, urunFiyat, urunMiktar, urunIsmi);
			sepet.addUrun(urun);
		} else {
			out.println(urunFiyat);
			Vector urunler = sepet.getUrunler();
			int sayac = 0;
			for (int i = 0; i < urunler.size(); i++) {
				Urun urun = (Urun) urunler.elementAt(i);
				if (urun.ismi.equals(urunIsmi)) {
					urun.talepMiktar = urun.talepMiktar + urun.miktar;
					sayac++;
				}
			}
			if (sayac == 0) {
				Urun urun = new Urun(urunKod, urunFiyat, urunMiktar, urunIsmi);
				sepet.addUrun(urun);
			}
		}

		// Ekleme sonucu oluşan sepetin gösterilmesi
	
		
		if(pageNumber!=null){
		response.sendRedirect(response
				.encodeRedirectURL("/e_ticaret/anasayfa/index.jsp?pageNumber="+pageNumber));
		}
		else if (product!=null){
			response.sendRedirect(response
					.encodeRedirectURL("/e_ticaret/detay.jsp?product="+product+"&urunKod="+urunKod));	
		}
		else{
			response.sendRedirect(response
					.encodeRedirectURL("/e_ticaret/anasayfa/index.jsp"));	
		}
	}
}